1. Technical Field
The present invention relates generally to data processing systems and in particular to security features of data processing systems. Still more particularly, the present invention relates to a method and system for enhancing security of data processing systems when the system returns from a sleep state.
2. Description of the Related Art
The need for increased security of data processing systems and other computing platforms led to the formation of the Trusted-Computing Group (TCG) (formerly Trusted Computing Platform Alliance (TCPA)), which is dedicated to improving such system (computing platform) security. One innovation provided by TCG was Trusted Platform Module (TPM), which is a separate piece of hardware designed to provide confidence in system security, from power-up to shutdown. TPM provides core security services to the rest of a computing platform. In addition to TPM, TCG also provides software-level support for the security protocol via Core Root of Trust for Measurement (CRTM). Those skilled in the art are familiar with TCG and the utilization of TPMs and CRTM. A general overview of the group and security features may be found at Internet site www.trustedcomputinggroup.org.
While TPM-designed systems are secure, there are currently some usability/manageability/security issues with the usage of a TPM. One of these issues that has been identified is the inability of TCG compliant systems to securely return from the S4 sleep state while keeping the secured data within the TPM coherent. The current design philosophy is for the TCG compliant BIOS to clear the data within the TPM upon a S4 wake. This solves the security issues but creates usability issues since the user must reload all of the key material before an effective resume from a low power state can be accomplished.
S4 sleep state is one of several power-down states of a computing system that is provided within the advanced configuration and power interface (ACPI) specification. ACPI is also known to those skilled in the art. Specific information about the specification may be found at Internet site http://www.acpi.info/DOWNLOADS/ACPIspec20.pdf.
Specifically, S4 refers to a “suspend to disk” mode, wherein the computer system enters into a partial power-down mode or hibernation mode by passing boot control to a disk connected to the computer system. According to an advanced configuration and power interface (ACPI) specification, a computer system has to store current configuration data of the computer system in a hard disk (or other storage medium) when the computer system is in an S4 state so that the computer system can quickly boot again after the computer system is shut down. Furthermore, when the computer system is in an S4 state, the computer system is going to shut down and may break off the electric power. The computer system, therefore, has to transfer all data temporarily stored in the memory back to the hard disk drive in order to maintain the data.
When the computing system is initially powered on, the system boots to an operating system (Windows OS for example) and the platform configuration registers (PCRs) within the TPM are correctly and successfully extended. When the system later goes into S4 sleep state, a possible attack scenario exists if the hard drive is replaced with a Linux S4 sleep image. If the PCR's are not re-initialized, the system, when it is awaken, would have incorrect PCR values. This could lead to an attack on the user data protected by the PCR's. To protect against this attack, the current TCG PC Specific Specification requires the BIOS to re-initialize the PCR's on a S4 boot. This now creates usability problems since all of the application programs must load/unload data in the TPM on the S4 transitions. This is especially unattractive on mobile systems since the transitions to a S4 state can occur without user knowledge depending on the state of the battery.
The TCG PC specification requires that all PCRs should be reset during a wake event from S4 state. The result is that attestation and S4 are mutually exclusive. If any data is sealed to an OS, this data will not be available if the system ever enters S4 state. The present invention thus recognizes that it would be desirable to have a method and system that provides security when a computing platform returns from the S4 state. That is, a method and system that enables attestation with S4 state in a TPM computing platform would be a welcomed advancement.